//package com.easymorse.list;
//
//import java.lang.ref.SoftReference;
//import java.net.URL;
//import java.util.HashMap;
//import java.util.Map;
//
//import android.graphics.Bitmap;
//import android.graphics.BitmapFactory;
//import android.graphics.drawable.Drawable;
//import android.os.Handler;
//import android.os.Message;
//import android.util.Log;
//
//public class AsyncImageLoader {
//	private int inSampleSize = 1;
//	private int scaleWidth = 0;
//	private int scaleHeight = 0;
//	
//	private Map<String, SoftReference<Drawable>> imageCache=new HashMap<String, SoftReference<Drawable>>();
//	
//	public Drawable loadDrawable(final String imageUrl,final ImageCallback callback){
//		if(imageCache.containsKey(imageUrl)){
//			SoftReference<Drawable> softReference=imageCache.get(imageUrl);
//			if(softReference.get()!=null){
//				return softReference.get();
//			}
//		}
//		final Handler handler=new Handler(){
//			@Override
//			public void handleMessage(Message msg) {
//				callback.imageLoaded((Drawable) msg.obj, imageUrl);
//			}
//		};
//		new Thread(){
//			public void run() {
//				Drawable drawable=loadImageFromUrl(imageUrl);
//				imageCache.put(imageUrl, new SoftReference<Drawable>(drawable));
//				handler.sendMessage(handler.obtainMessage(0,drawable));
//			};
//		}.start();
//		return null;
//	}
//	
//	protected Bitmap loadImageFromSDCard(String path) {
//		Bitmap bitmap = null;
//		if(path != null) {
//			if(inSampleSize > 1) {
//				BitmapFactory.Options opts = new BitmapFactory.Options();
//				opts.inSampleSize = inSampleSize;
//				bitmap = BitmapFactory.decodeFile(path, opts);
//			} else {
//				bitmap = BitmapFactory.decodeFile(path);
//				Log.e("ken", path);
//			}
//		}
//		
//		if(bitmap != null) {
//			if(scaleWidth > 0 && scaleHeight > 0) {
//				bitmap = Bitmap.createScaledBitmap(bitmap, scaleWidth, scaleHeight, true);
//			}
//			
//			if(key != null && !key.trim().equals("")) {
//				SoftReference<Bitmap> ref = new SoftReference<Bitmap>(bitmap);
//				synchronized (imageCache) {
//					mCache.put(key, ref);
//				}
//			}
//			
//			handler.sendMessage(handler.obtainMessage(0,drawable));
//			return;
//		}
//	}
//	
//	protected Drawable loadImageFromUrl(String imageUrl) {
//		try {
//			return Drawable.createFromStream(new URL(imageUrl).openStream(), "src");
//		} catch (Exception e) {
//			throw new RuntimeException(e);
//		}
//	}
//
//	public interface ImageCallback{
//		public void imageLoaded(Drawable imageDrawable,String imageUrl);
//	}
//}
